package com.trip.wechat.platform.model.user;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.common.base.MoreObjects;
import com.trip.wechat.platform.model.BaseResultBO;

/**
 * 功能说明: 用户信息<br>
 * 系统说明: <br>
 * 模块说明: <br>
 * 功能描述: <br>
 */
public class UserInfoBO extends BaseResultBO {

    private Integer subscribe; // 用户是否订阅该公众号标识，值为0时，代表此用户没有关注该公众号，拉取不到其余信息
    private String openid;
    private String nickname;
    private Integer sex;//用户的性别，值为1时是男性，值为2时是女性，值为0时是未知
    private String language;
    private String city;
    private String country;
    private String province;
    @JsonProperty(value = "headimgurl")
    private String headImgUrl;
    @JsonProperty(value = "subscribe_time")
    private String subscribeTime;
    private String unionid;
    private String remark;
    private Integer groupid;
    @JsonProperty(value = "tagid_list")
    private Integer[] tagidList;
    @JsonProperty(value = "subscribe_scene")
    private String subscribeScene;
    @JsonProperty(value = "qr_scene")
    private String qrScene;
    @JsonProperty(value = "qr_scene_str")
    private String qrSceneStr;

    public Integer getSubscribe() {
        return subscribe;
    }

    public void setSubscribe(Integer subscribe) {
        this.subscribe = subscribe;
    }

    public String getOpenid() {
        return openid;
    }

    public void setOpenid(String openid) {
        this.openid = openid;
    }

    public String getNickname() {
        return nickname;
    }

    public void setNickname(String nickname) {
        this.nickname = nickname;
    }

    public Integer getSex() {
        return sex;
    }

    public void setSex(Integer sex) {
        this.sex = sex;
    }

    public String getLanguage() {
        return language;
    }

    public void setLanguage(String language) {
        this.language = language;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }

    public String getCountry() {
        return country;
    }

    public void setCountry(String country) {
        this.country = country;
    }

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getHeadImgUrl() {
        return headImgUrl;
    }

    public void setHeadImgUrl(String headImgUrl) {
        this.headImgUrl = headImgUrl;
    }

    public String getSubscribeTime() {
        return subscribeTime;
    }

    public void setSubscribeTime(String subscribeTime) {
        this.subscribeTime = subscribeTime;
    }

    public String getUnionid() {
        return unionid;
    }

    public void setUnionid(String unionid) {
        this.unionid = unionid;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public Integer getGroupid() {
        return groupid;
    }

    public void setGroupid(Integer groupid) {
        this.groupid = groupid;
    }

    public Integer[] getTagidList() {
        return tagidList;
    }

    public void setTagidList(Integer[] tagidList) {
        this.tagidList = tagidList;
    }

    public String getSubscribeScene() {
        return subscribeScene;
    }

    public void setSubscribeScene(String subscribeScene) {
        this.subscribeScene = subscribeScene;
    }

    public String getQrScene() {
        return qrScene;
    }

    public void setQrScene(String qrScene) {
        this.qrScene = qrScene;
    }

    public String getQrSceneStr() {
        return qrSceneStr;
    }

    public void setQrSceneStr(String qrSceneStr) {
        this.qrSceneStr = qrSceneStr;
    }

    @Override
    public String toString() {
        return MoreObjects.toStringHelper(this)
                .add("result", super.toString())
                .add("subscribe", subscribe)
                .add("openid", openid)
                .add("nickname", nickname)
                .add("sex", sex)
                .add("language", language)
                .add("city", city)
                .add("country", country)
                .add("province", province)
                .add("headImgUrl", headImgUrl)
                .add("subscribeTime", subscribeTime)
                .add("unionid", unionid)
                .add("remark", remark)
                .add("groupid", groupid)
                .add("tagidList", tagidList)
                .add("subscribeScene", subscribeScene)
                .add("qrScene", qrScene)
                .add("qrSceneStr", qrSceneStr)
                .toString();
    }
}
